11 research outputs found

    Focusing on Refinement Typing

    Full text link
    We present a logically principled foundation for systematizing, in a way that works with any computational effect and evaluation order, SMT constraint generation seen in refinement type systems for functional programming languages. By carefully combining a focalized variant of call-by-push-value, bidirectional typing, and our novel technique of value-determined indexes, our system generates solvable SMT constraints without existential (unification) variables. We design a polarized subtyping relation allowing us to prove our logically focused typing algorithm is sound, complete, and decidable. We prove type soundness of our declarative system with respect to an elementary domain-theoretic denotational semantics. Type soundness implies, relatively simply, the total correctness and logical consistency of our system. The relative ease with which we obtain both algorithmic and semantic results ultimately stems from the proof-theoretic technique of focalization.Comment: 61 pages + appendix with proofs, Just Accepted version of paper (with new title) at ACM Transactions on Programming Languages and System

    Sound and complete bidirectional typechecking for higher-rank polymorphism with existentials and indexed types

    Get PDF
    Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to indexed types (generalized algebraic datatypes) are less clear. Building on proof-theoretic treatments of equality, we give a declarative specification of typing based on focalization. This approach permits declarative rules for coverage of pattern matching, as well as support for first-class existential types using a focalized subtyping judgment. We use refinement types to avoid explicitly passing equality proofs in our term syntax, making our calculus similar to languages such as Haskell and OCaml. We also extend the declarative specification with an explicit rules for deducing when a type is principal, permitting us to give a complete declarative specification for a rich type system with significant type inference. We also give a set of algorithmic typing rules, and prove that it is sound and complete with respect to the declarative system. The proof requires a number of technical innovations, including proving soundness and completeness in a mutually recursive fashion.EPSRC grant EP/N02706X/

    Microbial minorities modulate methane consumption through niche partitioning

    No full text
    Microbes catalyze all major geochemical cycles on earth. However, the role of microbial traits and community composition in biogeochemical cycles is still poorly understood mainly due to the inability to assess the community members that are actually performing biogeochemical conversions in complex environmental samples. Here we applied a polyphasic approach to assess the role of microbial community composition in modulating methane emission from a riparian floodplain. We show that the dynamics and intensity of methane consumption in riparian wetlands coincide with relative abundance and activity of specific subgroups of methane-oxidizing bacteria (MOB), which can be considered as a minor component of the microbial community in this ecosystem. Microarray-based community composition analyses demonstrated linear relationships of MOB diversity parameters and in vitro methane consumption. Incubations using intact cores in combination with stable isotope labeling of lipids and proteins corroborated the correlative evidence from in vitro incubations demonstrating γ-proteobacterial MOB subgroups to be responsible for methane oxidation. The results obtained within the riparian flooding gradient collectively demonstrate that niche partitioning of MOB within a community comprised of a very limited amount of active species modulates methane consumption and emission from this wetland. The implications of the results obtained for biodiversity–ecosystem functioning are discussed with special reference to the role of spatial and temporal heterogeneity and functional redundancy
    corecore